Self-clocking glyph codes are suitable for transferring digital values of various types (e.g., machine control instructions, data values, memory pointers, and executable binaries) back and forth synchronously between the electronic and hardcopy domains. They, therefore, are a promising interface technology for integrating hardcopy documents and computer controlled electronic document processing systems more or less seamlessly.
A self-clocking glyph code typically is generated by mapping logically ordered digital imput values of predetermined bit length, n, into a predefined set of 2.sup.n graphically unique symbols (i.e., "glyphs"), each of which is preassigned to the encoding of a different one of the permissible input values. Thus, each of the input values is transformed into and encoded by a corresponding glyph. These glyph encodings, in turn, are written on a hardcopy recording medium in accordance with a predetermined spatial formatting rule, thereby producing a glyph code that encodes the input values and preserves their logical ordering.
As will be appreciated, a code of the foregoing type carries the clock signal that is required for transferring the encoded digital values from the hardcopy domain to the electronic domain synchronously. Every input value is represented by a corresponding glyph, so the clock is embedded in the spatial distribution of the logically ordered glyphs. This is why these codes are referred to as "self-clocking" glyph codes. It also is to be understood that the self-clocking characteristic of these codes increases their tolerance to the degradation they may suffer while being replicated by copiers and/or facsimile systems. See a copending and commonly assigned Bloomberg et al. U.S. patent application that was filed Jul. 31, 1990 under Ser. No. 07/560,514 on "Self-Clocking Glyph Shape Codes" which hereby is incorporated by reference.
Another of the known advantages of these self-clocking glyph codes is that they can be composed of glyphs that are graphically distinguished from each other by machine detectable characteristics that are not easily perceived by the human eye. Thus, these codes can be used for recording machine readable digital information on hardcopy documents, without significantly degrading the esthetic quality of those documents. For instance, the glyphs can be written using inks that are virtually invisible to the human eye under normal lighting conditions. Even more remarkably, glyphs written using visible inks, such as standard xerographic toners, can be of such a small uniform size and written at a sufficiently high spatial density that the resulting glyph code has a generally uniform textured appearance to the human eye. As pointed out in the aforementioned Bloomberg et al. application, digital values can be encoded in the rotation or profiles of such glyphs if the glyphs are rotationally variant or invariant, respectively. Also see the copending and commonly assigned U.S. patent applications of Rob F. Tow that were filed Dec. 27, 1990 under Ser. Nos. 07/634,990 and 07/634,371 on "Method and Means for Embedding Machine Readable Digital Data in Halftone Images" and "Psychophysically Enhanced Techniques for Embedding Machine Readable Data in Grayscale Images", respectively.
Prior self-clocking glyph codes are especially well suited for encoding single bit digital values ("1" or "0"). Some of these codes also are useful for encoding multi-bit values, but the cost and complexity of decoding these known codes tend to increase exponentially as a function of the bit lengths of the digital values that are encoded in their glyphs. This follows from the general rule that 2.sup.n filtering steps are required for decoding a glyph code encoding of n-bit long digital values when n&gt;1. Moreover, the encoding of multi-bit values in the glyphs of these existing codes typically is achieved at the cost of reducing the graphical distinctions between the glyphs, so techniques are needed for facilitating the reading (i.e., decoding) of these codes at acceptably low bit error rates.